package fr.upmc.pstl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import fr.upmc.pstl.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'type'", "'is'", "';'", "','", "'..'"
    };
    public static final int RULE_ID=5;
    public static final int RULE_STRING=4;
    public static final int T__15=15;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

    // delegates
    // delegators


        public InternalMyDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
    public String getGrammarFileName() { return "../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }


     
     	private MyDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleModel"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleModel EOF )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();

            state._fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleModel"


    // $ANTLR start "ruleModel"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleModel : ( ( rule__Model__ElementsAssignment )* ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__Model__ElementsAssignment )* ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__ElementsAssignment )* )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__Model__ElementsAssignment )* )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__Model__ElementsAssignment )*
            {
             before(grammarAccess.getModelAccess().getElementsAssignment()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__Model__ElementsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==11) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__Model__ElementsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Model__ElementsAssignment_in_ruleModel94);
            	    rule__Model__ElementsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getElementsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleModel"


    // $ANTLR start "entryRuleType"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:88:1: entryRuleType : ruleType EOF ;
    public final void entryRuleType() throws RecognitionException {
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:89:1: ( ruleType EOF )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: ruleType EOF
            {
             before(grammarAccess.getTypeRule()); 
            pushFollow(FOLLOW_ruleType_in_entryRuleType122);
            ruleType();

            state._fsp--;

             after(grammarAccess.getTypeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleType129); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleType"


    // $ANTLR start "ruleType"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:97:1: ruleType : ( ( rule__Type__Group__0 ) ) ;
    public final void ruleType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:101:2: ( ( ( rule__Type__Group__0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Type__Group__0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:102:1: ( ( rule__Type__Group__0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:1: ( rule__Type__Group__0 )
            {
             before(grammarAccess.getTypeAccess().getGroup()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( rule__Type__Group__0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:2: rule__Type__Group__0
            {
            pushFollow(FOLLOW_rule__Type__Group__0_in_ruleType155);
            rule__Type__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTypeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleType"


    // $ANTLR start "entryRuleSpec"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:116:1: entryRuleSpec : ruleSpec EOF ;
    public final void entryRuleSpec() throws RecognitionException {
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:117:1: ( ruleSpec EOF )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: ruleSpec EOF
            {
             before(grammarAccess.getSpecRule()); 
            pushFollow(FOLLOW_ruleSpec_in_entryRuleSpec182);
            ruleSpec();

            state._fsp--;

             after(grammarAccess.getSpecRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSpec189); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSpec"


    // $ANTLR start "ruleSpec"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:125:1: ruleSpec : ( ( rule__Spec__Alternatives ) ) ;
    public final void ruleSpec() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:129:2: ( ( ( rule__Spec__Alternatives ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Spec__Alternatives ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:130:1: ( ( rule__Spec__Alternatives ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:1: ( rule__Spec__Alternatives )
            {
             before(grammarAccess.getSpecAccess().getAlternatives()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( rule__Spec__Alternatives )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:2: rule__Spec__Alternatives
            {
            pushFollow(FOLLOW_rule__Spec__Alternatives_in_ruleSpec215);
            rule__Spec__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getSpecAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSpec"


    // $ANTLR start "entryRuleEnum"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:144:1: entryRuleEnum : ruleEnum EOF ;
    public final void entryRuleEnum() throws RecognitionException {
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:145:1: ( ruleEnum EOF )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:146:1: ruleEnum EOF
            {
             before(grammarAccess.getEnumRule()); 
            pushFollow(FOLLOW_ruleEnum_in_entryRuleEnum242);
            ruleEnum();

            state._fsp--;

             after(grammarAccess.getEnumRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnum249); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEnum"


    // $ANTLR start "ruleEnum"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ruleEnum : ( ( rule__Enum__Group__0 ) ) ;
    public final void ruleEnum() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:157:2: ( ( ( rule__Enum__Group__0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Enum__Group__0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:158:1: ( ( rule__Enum__Group__0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:159:1: ( rule__Enum__Group__0 )
            {
             before(grammarAccess.getEnumAccess().getGroup()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:1: ( rule__Enum__Group__0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:160:2: rule__Enum__Group__0
            {
            pushFollow(FOLLOW_rule__Enum__Group__0_in_ruleEnum275);
            rule__Enum__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEnum"


    // $ANTLR start "entryRuleInterval"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:172:1: entryRuleInterval : ruleInterval EOF ;
    public final void entryRuleInterval() throws RecognitionException {
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:173:1: ( ruleInterval EOF )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:174:1: ruleInterval EOF
            {
             before(grammarAccess.getIntervalRule()); 
            pushFollow(FOLLOW_ruleInterval_in_entryRuleInterval302);
            ruleInterval();

            state._fsp--;

             after(grammarAccess.getIntervalRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleInterval309); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleInterval"


    // $ANTLR start "ruleInterval"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:181:1: ruleInterval : ( ( rule__Interval__Group__0 ) ) ;
    public final void ruleInterval() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: ( ( ( rule__Interval__Group__0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Interval__Group__0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:186:1: ( ( rule__Interval__Group__0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:187:1: ( rule__Interval__Group__0 )
            {
             before(grammarAccess.getIntervalAccess().getGroup()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:1: ( rule__Interval__Group__0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:188:2: rule__Interval__Group__0
            {
            pushFollow(FOLLOW_rule__Interval__Group__0_in_ruleInterval335);
            rule__Interval__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getIntervalAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleInterval"


    // $ANTLR start "rule__Spec__Alternatives"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:200:1: rule__Spec__Alternatives : ( ( ( rule__Spec__IntervalAssignment_0 ) ) | ( ( rule__Spec__EnumerationAssignment_1 ) ) );
    public final void rule__Spec__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:204:1: ( ( ( rule__Spec__IntervalAssignment_0 ) ) | ( ( rule__Spec__EnumerationAssignment_1 ) ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==RULE_INT) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_STRING) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:205:1: ( ( rule__Spec__IntervalAssignment_0 ) )
                    {
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:205:1: ( ( rule__Spec__IntervalAssignment_0 ) )
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:206:1: ( rule__Spec__IntervalAssignment_0 )
                    {
                     before(grammarAccess.getSpecAccess().getIntervalAssignment_0()); 
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:207:1: ( rule__Spec__IntervalAssignment_0 )
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:207:2: rule__Spec__IntervalAssignment_0
                    {
                    pushFollow(FOLLOW_rule__Spec__IntervalAssignment_0_in_rule__Spec__Alternatives371);
                    rule__Spec__IntervalAssignment_0();

                    state._fsp--;


                    }

                     after(grammarAccess.getSpecAccess().getIntervalAssignment_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:211:6: ( ( rule__Spec__EnumerationAssignment_1 ) )
                    {
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:211:6: ( ( rule__Spec__EnumerationAssignment_1 ) )
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:212:1: ( rule__Spec__EnumerationAssignment_1 )
                    {
                     before(grammarAccess.getSpecAccess().getEnumerationAssignment_1()); 
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:1: ( rule__Spec__EnumerationAssignment_1 )
                    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:2: rule__Spec__EnumerationAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Spec__EnumerationAssignment_1_in_rule__Spec__Alternatives389);
                    rule__Spec__EnumerationAssignment_1();

                    state._fsp--;


                    }

                     after(grammarAccess.getSpecAccess().getEnumerationAssignment_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Spec__Alternatives"


    // $ANTLR start "rule__Type__Group__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:224:1: rule__Type__Group__0 : rule__Type__Group__0__Impl rule__Type__Group__1 ;
    public final void rule__Type__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:228:1: ( rule__Type__Group__0__Impl rule__Type__Group__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:229:2: rule__Type__Group__0__Impl rule__Type__Group__1
            {
            pushFollow(FOLLOW_rule__Type__Group__0__Impl_in_rule__Type__Group__0420);
            rule__Type__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Type__Group__1_in_rule__Type__Group__0423);
            rule__Type__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__0"


    // $ANTLR start "rule__Type__Group__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:236:1: rule__Type__Group__0__Impl : ( 'type' ) ;
    public final void rule__Type__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:240:1: ( ( 'type' ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:1: ( 'type' )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:241:1: ( 'type' )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:242:1: 'type'
            {
             before(grammarAccess.getTypeAccess().getTypeKeyword_0()); 
            match(input,11,FOLLOW_11_in_rule__Type__Group__0__Impl451); 
             after(grammarAccess.getTypeAccess().getTypeKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__0__Impl"


    // $ANTLR start "rule__Type__Group__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:255:1: rule__Type__Group__1 : rule__Type__Group__1__Impl rule__Type__Group__2 ;
    public final void rule__Type__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:259:1: ( rule__Type__Group__1__Impl rule__Type__Group__2 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:260:2: rule__Type__Group__1__Impl rule__Type__Group__2
            {
            pushFollow(FOLLOW_rule__Type__Group__1__Impl_in_rule__Type__Group__1482);
            rule__Type__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Type__Group__2_in_rule__Type__Group__1485);
            rule__Type__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__1"


    // $ANTLR start "rule__Type__Group__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:267:1: rule__Type__Group__1__Impl : ( ( rule__Type__NameAssignment_1 ) ) ;
    public final void rule__Type__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: ( ( ( rule__Type__NameAssignment_1 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( ( rule__Type__NameAssignment_1 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:272:1: ( ( rule__Type__NameAssignment_1 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:273:1: ( rule__Type__NameAssignment_1 )
            {
             before(grammarAccess.getTypeAccess().getNameAssignment_1()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:274:1: ( rule__Type__NameAssignment_1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:274:2: rule__Type__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Type__NameAssignment_1_in_rule__Type__Group__1__Impl512);
            rule__Type__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getTypeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__1__Impl"


    // $ANTLR start "rule__Type__Group__2"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:284:1: rule__Type__Group__2 : rule__Type__Group__2__Impl rule__Type__Group__3 ;
    public final void rule__Type__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:288:1: ( rule__Type__Group__2__Impl rule__Type__Group__3 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:289:2: rule__Type__Group__2__Impl rule__Type__Group__3
            {
            pushFollow(FOLLOW_rule__Type__Group__2__Impl_in_rule__Type__Group__2542);
            rule__Type__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Type__Group__3_in_rule__Type__Group__2545);
            rule__Type__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__2"


    // $ANTLR start "rule__Type__Group__2__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:296:1: rule__Type__Group__2__Impl : ( 'is' ) ;
    public final void rule__Type__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:300:1: ( ( 'is' ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:301:1: ( 'is' )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:301:1: ( 'is' )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:302:1: 'is'
            {
             before(grammarAccess.getTypeAccess().getIsKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Type__Group__2__Impl573); 
             after(grammarAccess.getTypeAccess().getIsKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__2__Impl"


    // $ANTLR start "rule__Type__Group__3"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:315:1: rule__Type__Group__3 : rule__Type__Group__3__Impl rule__Type__Group__4 ;
    public final void rule__Type__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:319:1: ( rule__Type__Group__3__Impl rule__Type__Group__4 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:320:2: rule__Type__Group__3__Impl rule__Type__Group__4
            {
            pushFollow(FOLLOW_rule__Type__Group__3__Impl_in_rule__Type__Group__3604);
            rule__Type__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Type__Group__4_in_rule__Type__Group__3607);
            rule__Type__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__3"


    // $ANTLR start "rule__Type__Group__3__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:327:1: rule__Type__Group__3__Impl : ( ( rule__Type__SpecificationAssignment_3 ) ) ;
    public final void rule__Type__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:331:1: ( ( ( rule__Type__SpecificationAssignment_3 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:332:1: ( ( rule__Type__SpecificationAssignment_3 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:332:1: ( ( rule__Type__SpecificationAssignment_3 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:333:1: ( rule__Type__SpecificationAssignment_3 )
            {
             before(grammarAccess.getTypeAccess().getSpecificationAssignment_3()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:334:1: ( rule__Type__SpecificationAssignment_3 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:334:2: rule__Type__SpecificationAssignment_3
            {
            pushFollow(FOLLOW_rule__Type__SpecificationAssignment_3_in_rule__Type__Group__3__Impl634);
            rule__Type__SpecificationAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getTypeAccess().getSpecificationAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__3__Impl"


    // $ANTLR start "rule__Type__Group__4"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:344:1: rule__Type__Group__4 : rule__Type__Group__4__Impl ;
    public final void rule__Type__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:348:1: ( rule__Type__Group__4__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:349:2: rule__Type__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Type__Group__4__Impl_in_rule__Type__Group__4664);
            rule__Type__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__4"


    // $ANTLR start "rule__Type__Group__4__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:355:1: rule__Type__Group__4__Impl : ( ';' ) ;
    public final void rule__Type__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:359:1: ( ( ';' ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:360:1: ( ';' )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:360:1: ( ';' )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:361:1: ';'
            {
             before(grammarAccess.getTypeAccess().getSemicolonKeyword_4()); 
            match(input,13,FOLLOW_13_in_rule__Type__Group__4__Impl692); 
             after(grammarAccess.getTypeAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__Group__4__Impl"


    // $ANTLR start "rule__Enum__Group__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:384:1: rule__Enum__Group__0 : rule__Enum__Group__0__Impl rule__Enum__Group__1 ;
    public final void rule__Enum__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:388:1: ( rule__Enum__Group__0__Impl rule__Enum__Group__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:389:2: rule__Enum__Group__0__Impl rule__Enum__Group__1
            {
            pushFollow(FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__0733);
            rule__Enum__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__0736);
            rule__Enum__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0"


    // $ANTLR start "rule__Enum__Group__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:396:1: rule__Enum__Group__0__Impl : ( () ) ;
    public final void rule__Enum__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:400:1: ( ( () ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:401:1: ( () )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:401:1: ( () )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:402:1: ()
            {
             before(grammarAccess.getEnumAccess().getEnumAction_0()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:403:1: ()
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: 
            {
            }

             after(grammarAccess.getEnumAccess().getEnumAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__0__Impl"


    // $ANTLR start "rule__Enum__Group__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:415:1: rule__Enum__Group__1 : rule__Enum__Group__1__Impl ;
    public final void rule__Enum__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:419:1: ( rule__Enum__Group__1__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:420:2: rule__Enum__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__1794);
            rule__Enum__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1"


    // $ANTLR start "rule__Enum__Group__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:426:1: rule__Enum__Group__1__Impl : ( ( rule__Enum__Group_1__0 ) ) ;
    public final void rule__Enum__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:430:1: ( ( ( rule__Enum__Group_1__0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:431:1: ( ( rule__Enum__Group_1__0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:431:1: ( ( rule__Enum__Group_1__0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:432:1: ( rule__Enum__Group_1__0 )
            {
             before(grammarAccess.getEnumAccess().getGroup_1()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:433:1: ( rule__Enum__Group_1__0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:433:2: rule__Enum__Group_1__0
            {
            pushFollow(FOLLOW_rule__Enum__Group_1__0_in_rule__Enum__Group__1__Impl821);
            rule__Enum__Group_1__0();

            state._fsp--;


            }

             after(grammarAccess.getEnumAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group__1__Impl"


    // $ANTLR start "rule__Enum__Group_1__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:447:1: rule__Enum__Group_1__0 : rule__Enum__Group_1__0__Impl rule__Enum__Group_1__1 ;
    public final void rule__Enum__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:451:1: ( rule__Enum__Group_1__0__Impl rule__Enum__Group_1__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:452:2: rule__Enum__Group_1__0__Impl rule__Enum__Group_1__1
            {
            pushFollow(FOLLOW_rule__Enum__Group_1__0__Impl_in_rule__Enum__Group_1__0855);
            rule__Enum__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group_1__1_in_rule__Enum__Group_1__0858);
            rule__Enum__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1__0"


    // $ANTLR start "rule__Enum__Group_1__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:459:1: rule__Enum__Group_1__0__Impl : ( RULE_STRING ) ;
    public final void rule__Enum__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:463:1: ( ( RULE_STRING ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:464:1: ( RULE_STRING )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:464:1: ( RULE_STRING )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:465:1: RULE_STRING
            {
             before(grammarAccess.getEnumAccess().getSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Enum__Group_1__0__Impl885); 
             after(grammarAccess.getEnumAccess().getSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1__0__Impl"


    // $ANTLR start "rule__Enum__Group_1__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:476:1: rule__Enum__Group_1__1 : rule__Enum__Group_1__1__Impl ;
    public final void rule__Enum__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: ( rule__Enum__Group_1__1__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:481:2: rule__Enum__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group_1__1__Impl_in_rule__Enum__Group_1__1914);
            rule__Enum__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1__1"


    // $ANTLR start "rule__Enum__Group_1__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:487:1: rule__Enum__Group_1__1__Impl : ( ( rule__Enum__Group_1_1__0 )* ) ;
    public final void rule__Enum__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:491:1: ( ( ( rule__Enum__Group_1_1__0 )* ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:492:1: ( ( rule__Enum__Group_1_1__0 )* )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:492:1: ( ( rule__Enum__Group_1_1__0 )* )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:493:1: ( rule__Enum__Group_1_1__0 )*
            {
             before(grammarAccess.getEnumAccess().getGroup_1_1()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:1: ( rule__Enum__Group_1_1__0 )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==14) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:494:2: rule__Enum__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Enum__Group_1_1__0_in_rule__Enum__Group_1__1__Impl941);
            	    rule__Enum__Group_1_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getEnumAccess().getGroup_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1__1__Impl"


    // $ANTLR start "rule__Enum__Group_1_1__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:508:1: rule__Enum__Group_1_1__0 : rule__Enum__Group_1_1__0__Impl rule__Enum__Group_1_1__1 ;
    public final void rule__Enum__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:512:1: ( rule__Enum__Group_1_1__0__Impl rule__Enum__Group_1_1__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:513:2: rule__Enum__Group_1_1__0__Impl rule__Enum__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Enum__Group_1_1__0__Impl_in_rule__Enum__Group_1_1__0976);
            rule__Enum__Group_1_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Enum__Group_1_1__1_in_rule__Enum__Group_1_1__0979);
            rule__Enum__Group_1_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1_1__0"


    // $ANTLR start "rule__Enum__Group_1_1__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:520:1: rule__Enum__Group_1_1__0__Impl : ( ',' ) ;
    public final void rule__Enum__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:524:1: ( ( ',' ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:525:1: ( ',' )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:525:1: ( ',' )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:526:1: ','
            {
             before(grammarAccess.getEnumAccess().getCommaKeyword_1_1_0()); 
            match(input,14,FOLLOW_14_in_rule__Enum__Group_1_1__0__Impl1007); 
             after(grammarAccess.getEnumAccess().getCommaKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1_1__0__Impl"


    // $ANTLR start "rule__Enum__Group_1_1__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:539:1: rule__Enum__Group_1_1__1 : rule__Enum__Group_1_1__1__Impl ;
    public final void rule__Enum__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:543:1: ( rule__Enum__Group_1_1__1__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:544:2: rule__Enum__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Enum__Group_1_1__1__Impl_in_rule__Enum__Group_1_1__11038);
            rule__Enum__Group_1_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1_1__1"


    // $ANTLR start "rule__Enum__Group_1_1__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: rule__Enum__Group_1_1__1__Impl : ( RULE_STRING ) ;
    public final void rule__Enum__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:554:1: ( ( RULE_STRING ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:555:1: ( RULE_STRING )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:555:1: ( RULE_STRING )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:556:1: RULE_STRING
            {
             before(grammarAccess.getEnumAccess().getSTRINGTerminalRuleCall_1_1_1()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Enum__Group_1_1__1__Impl1065); 
             after(grammarAccess.getEnumAccess().getSTRINGTerminalRuleCall_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Enum__Group_1_1__1__Impl"


    // $ANTLR start "rule__Interval__Group__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:571:1: rule__Interval__Group__0 : rule__Interval__Group__0__Impl rule__Interval__Group__1 ;
    public final void rule__Interval__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:575:1: ( rule__Interval__Group__0__Impl rule__Interval__Group__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:576:2: rule__Interval__Group__0__Impl rule__Interval__Group__1
            {
            pushFollow(FOLLOW_rule__Interval__Group__0__Impl_in_rule__Interval__Group__01098);
            rule__Interval__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interval__Group__1_in_rule__Interval__Group__01101);
            rule__Interval__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group__0"


    // $ANTLR start "rule__Interval__Group__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:583:1: rule__Interval__Group__0__Impl : ( () ) ;
    public final void rule__Interval__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:587:1: ( ( () ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:588:1: ( () )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:588:1: ( () )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:589:1: ()
            {
             before(grammarAccess.getIntervalAccess().getIntervalAction_0()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:590:1: ()
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:592:1: 
            {
            }

             after(grammarAccess.getIntervalAccess().getIntervalAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group__0__Impl"


    // $ANTLR start "rule__Interval__Group__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:602:1: rule__Interval__Group__1 : rule__Interval__Group__1__Impl ;
    public final void rule__Interval__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:606:1: ( rule__Interval__Group__1__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:607:2: rule__Interval__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Interval__Group__1__Impl_in_rule__Interval__Group__11159);
            rule__Interval__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group__1"


    // $ANTLR start "rule__Interval__Group__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:613:1: rule__Interval__Group__1__Impl : ( ( rule__Interval__Group_1__0 ) ) ;
    public final void rule__Interval__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:617:1: ( ( ( rule__Interval__Group_1__0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:618:1: ( ( rule__Interval__Group_1__0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:618:1: ( ( rule__Interval__Group_1__0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:619:1: ( rule__Interval__Group_1__0 )
            {
             before(grammarAccess.getIntervalAccess().getGroup_1()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:1: ( rule__Interval__Group_1__0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:620:2: rule__Interval__Group_1__0
            {
            pushFollow(FOLLOW_rule__Interval__Group_1__0_in_rule__Interval__Group__1__Impl1186);
            rule__Interval__Group_1__0();

            state._fsp--;


            }

             after(grammarAccess.getIntervalAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group__1__Impl"


    // $ANTLR start "rule__Interval__Group_1__0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:634:1: rule__Interval__Group_1__0 : rule__Interval__Group_1__0__Impl rule__Interval__Group_1__1 ;
    public final void rule__Interval__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:638:1: ( rule__Interval__Group_1__0__Impl rule__Interval__Group_1__1 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:639:2: rule__Interval__Group_1__0__Impl rule__Interval__Group_1__1
            {
            pushFollow(FOLLOW_rule__Interval__Group_1__0__Impl_in_rule__Interval__Group_1__01220);
            rule__Interval__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interval__Group_1__1_in_rule__Interval__Group_1__01223);
            rule__Interval__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__0"


    // $ANTLR start "rule__Interval__Group_1__0__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:646:1: rule__Interval__Group_1__0__Impl : ( ( rule__Interval__MinAssignment_1_0 ) ) ;
    public final void rule__Interval__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:650:1: ( ( ( rule__Interval__MinAssignment_1_0 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:651:1: ( ( rule__Interval__MinAssignment_1_0 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:651:1: ( ( rule__Interval__MinAssignment_1_0 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:652:1: ( rule__Interval__MinAssignment_1_0 )
            {
             before(grammarAccess.getIntervalAccess().getMinAssignment_1_0()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:653:1: ( rule__Interval__MinAssignment_1_0 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:653:2: rule__Interval__MinAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Interval__MinAssignment_1_0_in_rule__Interval__Group_1__0__Impl1250);
            rule__Interval__MinAssignment_1_0();

            state._fsp--;


            }

             after(grammarAccess.getIntervalAccess().getMinAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__0__Impl"


    // $ANTLR start "rule__Interval__Group_1__1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:663:1: rule__Interval__Group_1__1 : rule__Interval__Group_1__1__Impl rule__Interval__Group_1__2 ;
    public final void rule__Interval__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:667:1: ( rule__Interval__Group_1__1__Impl rule__Interval__Group_1__2 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:668:2: rule__Interval__Group_1__1__Impl rule__Interval__Group_1__2
            {
            pushFollow(FOLLOW_rule__Interval__Group_1__1__Impl_in_rule__Interval__Group_1__11280);
            rule__Interval__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Interval__Group_1__2_in_rule__Interval__Group_1__11283);
            rule__Interval__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__1"


    // $ANTLR start "rule__Interval__Group_1__1__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:675:1: rule__Interval__Group_1__1__Impl : ( '..' ) ;
    public final void rule__Interval__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:679:1: ( ( '..' ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:680:1: ( '..' )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:680:1: ( '..' )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:681:1: '..'
            {
             before(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_1_1()); 
            match(input,15,FOLLOW_15_in_rule__Interval__Group_1__1__Impl1311); 
             after(grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__1__Impl"


    // $ANTLR start "rule__Interval__Group_1__2"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:694:1: rule__Interval__Group_1__2 : rule__Interval__Group_1__2__Impl ;
    public final void rule__Interval__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:698:1: ( rule__Interval__Group_1__2__Impl )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:699:2: rule__Interval__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Interval__Group_1__2__Impl_in_rule__Interval__Group_1__21342);
            rule__Interval__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__2"


    // $ANTLR start "rule__Interval__Group_1__2__Impl"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:705:1: rule__Interval__Group_1__2__Impl : ( ( rule__Interval__MaxAssignment_1_2 ) ) ;
    public final void rule__Interval__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:709:1: ( ( ( rule__Interval__MaxAssignment_1_2 ) ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:1: ( ( rule__Interval__MaxAssignment_1_2 ) )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:710:1: ( ( rule__Interval__MaxAssignment_1_2 ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:711:1: ( rule__Interval__MaxAssignment_1_2 )
            {
             before(grammarAccess.getIntervalAccess().getMaxAssignment_1_2()); 
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:712:1: ( rule__Interval__MaxAssignment_1_2 )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:712:2: rule__Interval__MaxAssignment_1_2
            {
            pushFollow(FOLLOW_rule__Interval__MaxAssignment_1_2_in_rule__Interval__Group_1__2__Impl1369);
            rule__Interval__MaxAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getIntervalAccess().getMaxAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__Group_1__2__Impl"


    // $ANTLR start "rule__Model__ElementsAssignment"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:729:1: rule__Model__ElementsAssignment : ( ruleType ) ;
    public final void rule__Model__ElementsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:733:1: ( ( ruleType ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:734:1: ( ruleType )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:734:1: ( ruleType )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:735:1: ruleType
            {
             before(grammarAccess.getModelAccess().getElementsTypeParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleType_in_rule__Model__ElementsAssignment1410);
            ruleType();

            state._fsp--;

             after(grammarAccess.getModelAccess().getElementsTypeParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__ElementsAssignment"


    // $ANTLR start "rule__Type__NameAssignment_1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:744:1: rule__Type__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Type__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:748:1: ( ( RULE_ID ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:749:1: ( RULE_ID )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:749:1: ( RULE_ID )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:1: RULE_ID
            {
             before(grammarAccess.getTypeAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Type__NameAssignment_11441); 
             after(grammarAccess.getTypeAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__NameAssignment_1"


    // $ANTLR start "rule__Type__SpecificationAssignment_3"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:759:1: rule__Type__SpecificationAssignment_3 : ( ruleSpec ) ;
    public final void rule__Type__SpecificationAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:763:1: ( ( ruleSpec ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:764:1: ( ruleSpec )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:764:1: ( ruleSpec )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:765:1: ruleSpec
            {
             before(grammarAccess.getTypeAccess().getSpecificationSpecParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleSpec_in_rule__Type__SpecificationAssignment_31472);
            ruleSpec();

            state._fsp--;

             after(grammarAccess.getTypeAccess().getSpecificationSpecParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Type__SpecificationAssignment_3"


    // $ANTLR start "rule__Spec__IntervalAssignment_0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:774:1: rule__Spec__IntervalAssignment_0 : ( ruleInterval ) ;
    public final void rule__Spec__IntervalAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:778:1: ( ( ruleInterval ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:1: ( ruleInterval )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:779:1: ( ruleInterval )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:780:1: ruleInterval
            {
             before(grammarAccess.getSpecAccess().getIntervalIntervalParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleInterval_in_rule__Spec__IntervalAssignment_01503);
            ruleInterval();

            state._fsp--;

             after(grammarAccess.getSpecAccess().getIntervalIntervalParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Spec__IntervalAssignment_0"


    // $ANTLR start "rule__Spec__EnumerationAssignment_1"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:789:1: rule__Spec__EnumerationAssignment_1 : ( ruleEnum ) ;
    public final void rule__Spec__EnumerationAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:793:1: ( ( ruleEnum ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( ruleEnum )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( ruleEnum )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:795:1: ruleEnum
            {
             before(grammarAccess.getSpecAccess().getEnumerationEnumParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleEnum_in_rule__Spec__EnumerationAssignment_11534);
            ruleEnum();

            state._fsp--;

             after(grammarAccess.getSpecAccess().getEnumerationEnumParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Spec__EnumerationAssignment_1"


    // $ANTLR start "rule__Interval__MinAssignment_1_0"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:804:1: rule__Interval__MinAssignment_1_0 : ( RULE_INT ) ;
    public final void rule__Interval__MinAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:808:1: ( ( RULE_INT ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:809:1: ( RULE_INT )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:809:1: ( RULE_INT )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:810:1: RULE_INT
            {
             before(grammarAccess.getIntervalAccess().getMinINTTerminalRuleCall_1_0_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Interval__MinAssignment_1_01565); 
             after(grammarAccess.getIntervalAccess().getMinINTTerminalRuleCall_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__MinAssignment_1_0"


    // $ANTLR start "rule__Interval__MaxAssignment_1_2"
    // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:819:1: rule__Interval__MaxAssignment_1_2 : ( RULE_INT ) ;
    public final void rule__Interval__MaxAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:823:1: ( ( RULE_INT ) )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( RULE_INT )
            {
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( RULE_INT )
            // ../fr.upmc.pstl.ui/src-gen/fr/upmc/pstl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: RULE_INT
            {
             before(grammarAccess.getIntervalAccess().getMaxINTTerminalRuleCall_1_2_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Interval__MaxAssignment_1_21596); 
             after(grammarAccess.getIntervalAccess().getMaxINTTerminalRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Interval__MaxAssignment_1_2"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ElementsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_ruleType_in_entryRuleType122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleType129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__0_in_ruleType155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSpec_in_entryRuleSpec182 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSpec189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Spec__Alternatives_in_ruleSpec215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_entryRuleEnum242 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnum249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0_in_ruleEnum275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInterval_in_entryRuleInterval302 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInterval309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group__0_in_ruleInterval335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Spec__IntervalAssignment_0_in_rule__Spec__Alternatives371 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Spec__EnumerationAssignment_1_in_rule__Spec__Alternatives389 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__0__Impl_in_rule__Type__Group__0420 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Type__Group__1_in_rule__Type__Group__0423 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__Type__Group__0__Impl451 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__1__Impl_in_rule__Type__Group__1482 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Type__Group__2_in_rule__Type__Group__1485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__NameAssignment_1_in_rule__Type__Group__1__Impl512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__2__Impl_in_rule__Type__Group__2542 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__Type__Group__3_in_rule__Type__Group__2545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Type__Group__2__Impl573 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__3__Impl_in_rule__Type__Group__3604 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Type__Group__4_in_rule__Type__Group__3607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__SpecificationAssignment_3_in_rule__Type__Group__3__Impl634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Type__Group__4__Impl_in_rule__Type__Group__4664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Type__Group__4__Impl692 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__0__Impl_in_rule__Enum__Group__0733 = new BitSet(new long[]{0x0000000000000050L});
    public static final BitSet FOLLOW_rule__Enum__Group__1_in_rule__Enum__Group__0736 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group__1__Impl_in_rule__Enum__Group__1794 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1__0_in_rule__Enum__Group__1__Impl821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1__0__Impl_in_rule__Enum__Group_1__0855 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Enum__Group_1__1_in_rule__Enum__Group_1__0858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Enum__Group_1__0__Impl885 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1__1__Impl_in_rule__Enum__Group_1__1914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1_1__0_in_rule__Enum__Group_1__1__Impl941 = new BitSet(new long[]{0x0000000000004002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1_1__0__Impl_in_rule__Enum__Group_1_1__0976 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Enum__Group_1_1__1_in_rule__Enum__Group_1_1__0979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Enum__Group_1_1__0__Impl1007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Enum__Group_1_1__1__Impl_in_rule__Enum__Group_1_1__11038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Enum__Group_1_1__1__Impl1065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group__0__Impl_in_rule__Interval__Group__01098 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Interval__Group__1_in_rule__Interval__Group__01101 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group__1__Impl_in_rule__Interval__Group__11159 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__0_in_rule__Interval__Group__1__Impl1186 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__0__Impl_in_rule__Interval__Group_1__01220 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__1_in_rule__Interval__Group_1__01223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__MinAssignment_1_0_in_rule__Interval__Group_1__0__Impl1250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__1__Impl_in_rule__Interval__Group_1__11280 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__2_in_rule__Interval__Group_1__11283 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Interval__Group_1__1__Impl1311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__Group_1__2__Impl_in_rule__Interval__Group_1__21342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Interval__MaxAssignment_1_2_in_rule__Interval__Group_1__2__Impl1369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleType_in_rule__Model__ElementsAssignment1410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Type__NameAssignment_11441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSpec_in_rule__Type__SpecificationAssignment_31472 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInterval_in_rule__Spec__IntervalAssignment_01503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnum_in_rule__Spec__EnumerationAssignment_11534 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Interval__MinAssignment_1_01565 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Interval__MaxAssignment_1_21596 = new BitSet(new long[]{0x0000000000000002L});

}